Don’t Look UB: Exposing Sanitizer-Eliding Compiler Optimizations

نویسندگان

چکیده

Sanitizers are widely used compiler features that detect undefined behavior and resulting vulnerabilities by injecting runtime checks into programs. For better performance, sanitizers often in conjunction with optimization passes. But doing so combines two conflicting objectives. While want to expose behavior, optimizers exploit these same properties for performance. In this paper, we show clash can have serious consequences: optimizations remove sanitizer failures, thereby hiding the presence of bugs or even introducing new ones. We present LookUB, a differential-testing based framework finding optimizer transformations elide failures. our method find 17 such sanitizer-eliding Clang. Next, static analysis fuzzing search open-source projects were previously hidden due optimizations. This led us discover 20 Linux Containers, libmpeg2, NTFS-3G, WINE. Finally, an effective mitigation strategy on customization Clang overhead increase 4%.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Optimizations for Media Processors

In the design of embedded systems, programmable processors gain more and more importance due to their high flexibility and potential for reuse. As a consequence, compilers for embedded processors are required, capable of generating very fast and dense code. In particular, this concerns the area of computation-intensive multimedia applications. While domain-specific digital signal processors may...

متن کامل

Compiler Optimizations using Symbolic Abstraction

With increasing program complexity, a vital requirement for compilers is to produce efficient code with as few instructions as possible. This requires program analyses that are expressive enough to prove relevant program properties, but still effectively computable. In the last decades, a large variety of such program analyses has been developed. The better availability of computational power t...

متن کامل

Low Power/Energy Compiler Optimizations

Embedded processor and SoCs are used in many devices, ranging from pace makers, sensors, phones, and PDAs, to general-purpose handheld computers and laptops. Each of these devices has their own requirements for performance, power dissipation, and energy usage, and typically implements a particular tradeoff among these entities. Allowing components of these devices to be controlled by software h...

متن کامل

Interactive Composition of Compiler Optimizations

Conventional compilers provide limited external control over the optimizations they automatically apply to attain high performance. Consequently, these optimizations have become increasingly ineffective due to the difficulty of understanding the higher-level semantics of the user applications. This paper presents a framework that provides interactive fine-grained control of compiler optimizatio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2023

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3591257